package nccloud.pubitf.so.saleinvoice.service;

import java.io.InputStream;
import nc.ui.querytemplate.querytree.IQueryScheme;
import nc.vo.credit.billcreditquery.entity.BillCreditQueryVO;
import nc.vo.pub.BusinessException;
import nc.vo.pubapp.pattern.model.entity.bill.AbstractBill;
import nc.vo.so.m30.entity.OffsetTempVO;
import nc.vo.so.m32.entity.SaleInvoiceVO;
import nc.vo.so.m32.paravo.CombinCacheVO;
import nc.vo.so.m35.entity.ArsubViewVO;
import nccloud.dto.scmpub.pub.entity.GoldTaxResult;
import nccloud.dto.so.pub.transfer.TransferInfo;
import nccloud.dto.so.saleinvoice.entity.GoldTaxParam;

public interface ISaleInvoiceBusiWebService {
  ArsubViewVO[] queryoffset(AbstractBill paramAbstractBill, OffsetTempVO paramOffsetTempVO, IQueryScheme paramIQueryScheme, String paramString) throws BusinessException;
  
  void offset(SaleInvoiceVO paramSaleInvoiceVO, ArsubViewVO[] paramArrayOfArsubViewVO, OffsetTempVO paramOffsetTempVO) throws BusinessException;
  
  void unOffset(SaleInvoiceVO paramSaleInvoiceVO, OffsetTempVO paramOffsetTempVO) throws BusinessException;
  
  SaleInvoiceVO fetchCost(SaleInvoiceVO paramSaleInvoiceVO) throws BusinessException;
  
  SaleInvoiceVO showCombine(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO) throws BusinessException;
  
  SaleInvoiceVO showDetail(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO) throws BusinessException;
  
  GoldTaxResult executeVOChangeTogtax(GoldTaxParam paramGoldTaxParam) throws BusinessException;
  
  BillCreditQueryVO[] queryCreditForSaleInvoice(SaleInvoiceVO[] paramArrayOfSaleInvoiceVO) throws BusinessException;
  
  SaleInvoiceVO[] addInvoice(CombinCacheVO paramCombinCacheVO, TransferInfo[] paramArrayOfTransferInfo) throws BusinessException;
  
  void outRush(String[] paramArrayOfString) throws BusinessException;
  
  SaleInvoiceVO refAddLine(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO, TransferInfo[] paramArrayOfTransferInfo) throws BusinessException;
  
  SaleInvoiceVO opposeAdd(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO) throws BusinessException;
  
  void importTaxCode(InputStream paramInputStream) throws BusinessException;
  
  SaleInvoiceVO[] coopToPuInvoice(SaleInvoiceVO[] paramArrayOfSaleInvoiceVO) throws BusinessException;
  
  void pushtojs(String pk) throws BusinessException;
  
  void pushtojs2(String pk) throws BusinessException;
}